package desmontec.documentos

import desmontec.query.dpg.DPGQuery;

import java.util.Calendar;
import java.util.GregorianCalendar;

class DpgService {

	private static final String VAZIO = "";
	
	
	static transactional = true

	def consultarDPG(DPGQuery query) {
			
		def criteria = DPG.createCriteria()
		def listaDPGs = criteria {
			and{
				// concatena o numero a pesquisa
				if(query.numero != null && !VAZIO.equals(query.numero)){
					eq('numero', query.numero)
				}
				// concatena o beneficiario a pesquisa
				if(query.beneficiario != null && !VAZIO.equals(query.beneficiario)){
					like('beneficiario', '%' + query.beneficiario + '%')				
				}
				// concatena o responsavel a pesquisa
				if(query.responsavel != null && !VAZIO.equals(query.responsavel)){
					eq('responsavel.id', query.responsavel)
				}
			}	
			
			// concatena as datas
			if(query.filtrarPorData()){
				// setar intervalo de data
				and {
					ge ("inicioDoPrazoValidade", query.dataInicial)
					le ("fimDoPrazoValidade", query.dataFinal)
				}
				
			
			}
		}
		return listaDPGs
	}
	
	
}
